/* eslint-disable */

import { AxiosRequestConfig } from 'axios';
import { request } from '../../utils/request';

export interface PostAlbumPageRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    current: number;
    pageSize: number;
    total: number;
    list: Array<{
      trackNum: number; // 歌曲数量
      albumExtend: {
        albumId: number; // 专辑ID
        srcDuration: number; // 官方专辑时长
        realDuration: number; // 实际专辑时长
        scheduleStatus: number; // 连载状态 1 连载中 2 已完结
        originalPublicTime: string; // 首次发行时间 入库时发行时间
        maintainer: number; // 维护方 0 中央曲库维护 1 Q音平台 2 酷狗平台 3 酷我平台 4 爱听卓越 5 音乐人系统 6 音乐人BD 7 信息自助管理平台 8 懒人听书
        id: number;
        merlinDpid: string; // DPID 解释：DPID是Merlin Memeber的一个ID 备注： Merlin提供的结算明细模板要求需要DPID和Member
        merlinMember: string; // MemberName 解释：Merlin Member的名称 也可以叫party name
        xmlPath: string; // XML文件存储 解释：唱片公司原始XML文件。 cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
        xmlUrl: string; // XML文件url 解释：拼接的下载url
        tmeszCode: string; // 数字专辑集团代码
        srcSinger: string; // 官方歌手名
        subTitle: string; // 专辑副标题
        movieName: string; // 影视名
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        albumEan: string; // EAN 国际货品编号
        albumGrid: string; // Grid 发行作品识别码
        albumPline: string; // pline
        albumCline: string; // cline
        displayTime: string; // 专辑可显示时间
        parentGuidance: string; // 家长指导内容 默认值：0 无建议 枚举值： 0 无建议 1 不含粗口 2 粗口内容已剪辑 3 粗口
        displayCompanyName: string; // 外显公司名称
      };
      albumMap: {
        id: number;
        globalId: number; // TME ID
        qkId: number; // 曲库ID
        qqId: number; // Q音ID
        kgId: number; // 酷狗ID
        kwId: number; // 酷我ID
        umId: number; // 爱听ID
        lrId: number;
        tempId: number;
        musicianId: number; // 音乐人
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        insertFrom: number; // 数据来源 0 未知 1 系统对接 2 人工创建 3 历史曲库迁移 4 批量导入 5 自助管理平台 6 音乐人 7 Q音上报 8 酷我上报 9 酷狗上报 10 Q音主播 11 酷我主播 12 酷狗主播 13 爱听上报 14 K歌上报 15 TME曲库同步 16 懒人听书 17 懒人主播 18 TME Live 19 高危曲库 20 互联网爬取
      };
      albumCopyright: {
        albumId: number; // 专辑ID
        id: number;
        cpCompanyId: number; // 版权公司 同t_company.Fcompany_id
        cpCompany: {
          companyId: number; // 公司ID
          companyName: string; // 公司名
          otherName: string; // 其它名
          type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
          cpMain: string; // 签约公司主体
          companyDesc: string; // 公司介绍
          createUser: string; // 创建人
          insertTime: string; // 插入时间
          modifyTime: string; // 修改时间
          parentCompany: number; // 所属父公司,同t_company.Fcompany_id
          cpCode: string; // 统一社会信用代码
          belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
          department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
          health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
          healthRemarks: string; // 健康度备注
          risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
          riskRemarks: string; // 风险评估备注
        };
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
      };
      albumPayment: {
        id: number;
        preSaleBegin: string; // 预售时间
        saleType: number; // 售卖类型 枚举值： -1 无 0  预售 1  正售 2  预售+正售
        paymentBegin: string; // 售卖开始时间
        paymentEnd: string; // 售卖结束时间
        price: number; // 售卖价格
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        albumId: number; // 专辑ID
        onSale: number; // 是否在售 与售卖期无关 0 否 1 是
      };
      albumLicenses: Array<{
        albumId: number; // 专辑ID
        id: number;
        licensePath: string; // 授权文件存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
        licenseUrl: string; // 授权文件url 解释：拼接的下载url
        fileName: string; // 文件名
        fileMd5: string; // 文件md5
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        fileSize: number; // 文件大小
      }>;
      albumPhotos: Array<{
        albumId: number; // 专辑ID
        displayTime: string; // 显示时间
        imageResolution: number; // 图像分辨率
        isOfficial: number; // 是否官方 默认值：0 0 否 1 是
        encodeStatus: number;
        id: number;
        photoUsing: number; // 是否使用中 解释：图片删除了，Fusing=0 默认值：0 定义： 0 未使用 1 使用中
        orderIndex: number; // 图片顺序 多图的顺序index 默认：0 代表第一张
        photoPath: string; // 图存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
        photoUrl: string; // 图片url 解释：拼接的下载url
        md5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
        photoSize: number; // 源图文件大小
        photoHeight: number; // 源图高
        photoWidth: number; // 源图宽
        qCfs: string; // Q音图存储 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
        qUrl: string; // Q音图片url 解释：下载url
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
      }>;
      albumSingers: Array<{
        albumId: number; // 专辑ID
        ddexRole: string;
        id: number;
        singerId: number; // 歌手ID
        isOfficial: number; // 是否库内歌手 翻译：歌手是否属于库内歌手 定义如下： 0 否 1 是
        orderIndex: number; // 歌手顺序 歌手顺序。0开始递增
        singerName: string; // 库外歌手名 解释：当Fis_official=0代表库外歌手时
        insertTime: string; // 插入时间
        modifyTime: string; // 插入时间
      }>;
      xmls: Array<{
        albumId: number; // 专辑ID
        tempAlbumId: number; // 临时库专辑ID
        albumUpc: string; // 专辑UPC
        cpId: number; // 版权公司ID
        albumXmlPath: string; // XML path
        albumXmlUrl: string; // XML cos url
        uploadTime: string; // 上传时间
      }>;
      albumTracks: Array<{
        trackMedia: {
          mediaId: number;
          fUsing: number; // 是否使用中 默认值：0 定义： 0 未使用 1 使用中
          mediaPath: string; // 音频存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
          mediaUrl: string; // 音频url 解释：拼接的下载url
          fileName: string; // 原始文件名
          fileType: string; // 解释：音频文件格式 定义如下：wma，mp3，ape，flac，WAV
          fileSize: number; // 解释：音频文件大小。单位kB
          fileMd5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
          duration: number; // 解释：播放时长。单位毫秒ms
          checkQuality: string; // 解释：音质检查的结果，可能有好多结果枚举值。逗号隔开  枚举值定义： ======严重错误======= 4 后缀名出错 6 声道不符合标准 7 采样率不符合标准 -9 解码出错 ...
          remarks: string; // 备注
          qCfs: string; // 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
          insertTime: string;
          modifyTime: string;
          trackId: number;
        };
        trackPayment: {
          id: number;
          price: number; // 售卖价格
          paymentMark: number; // 付费备注ID
          insertTime: string;
          modifyTime: string;
          paymentModeId: number; // 付费模式ID: ===> 参见：付费管理/付费模式录入
          paymentMode: {
            roleRights: Array<{
              roleRightId: number; // 角色权利ID
              userRole: number; // 用户身份 字段定义： 0 普通用户 3 单曲购买用户 4 专辑购买用户 6 歌曲包月用户 7 长音频包月用户 备注：单选
              canListen: number; // 可播放 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
              canDownload: number; // 可下载 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
              canCache: number; // 可缓存 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
              canTryListen: number; // 可试听 字段定义：试听30s 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
              invalidPrompt: number; // 受阻层 字段定义： 0 无 1 下载受阻开通付费包 2 缓存受阻开通付费包 3 付费播放+下载受阻开通付费包 4 付费播放+缓存受阻开通付费包 5 专辑购买 6 单曲购买 7 不可在线播放只可下载 8 不可在线播放只可缓存 9 播放+下载无损品质受阻开通付费包 10 免费歌曲HQSQ受阻开付费包 11 所有用户不可下载
              insertTime: string; // 插入时间
              modifyTime: string; // 修改时间
              paymentModeId: number; // 付费模式ID
            }>;
            paymentModeId: number; // 付费ID
            paymentModeName: string; // 付费模式名
            paymentType: number; // 付费口径 字段定义： 0-免费 1 付费1.0 2 付费2.0 3 付费3.0 4 数字专辑 备注：单选
            contentType: number; // 内容类型 字段定义： 0 所有内容 1 歌曲 2 长音频 备注：0 代表所有内容都可配该模式
            insertTime: string; // 插入时间
            modifyTime: string; // 更新时间
          };
          trackId: number;
          paymentMarkDesc: string; // 付费备注说明
          paymentNotify: number; // 付费受阻文案ID
          paymentReason: number; // 付费3.0原因ID: 0 无 1 集团策略转入 2 首发已过限免期 3 首发上架即无免 4 其他变更进入无免 5 集团策略转出
          srcPaymentModeId: number; // 官方付费模式id
          freeDuration: number;
          freeBeginTime: string;
        };
        trackSingers: Array<{
          id: number;
          singerId: number; // 歌手ID
          isOfficial: number; // 是否库内歌手 翻译：歌手是否属于库内歌手 定义如下： 0 否 1 是
          orderIndex: number; // 歌手顺序 歌手顺序。0开始递增
          singerName: string; // 库外歌手名 解释：当Fis_official=0代表库外歌手时
          insertTime: string;
          modifyTime: string;
          trackId: number; // 歌曲ID
          ddexRole: string;
        }>;
        trackExtend: {
          id: number;
          wordAuthor: string; // 作词
          musicAuthor: string; // 作曲
          arrangeAuthor: string; // 编曲
          producer: string; // 制作人
          mixer: string;
          parentGuidance: string; // 家长指引
          subTitle: string; // 副标题
          tvName: string; // 影视名
          createBg: string; // 创作背景
          awardRecord: string; // 获奖记录
          srcMusic: number; // 原曲
          srcTrack: number; // 原唱
          srcSingerName: string; // 官方歌手名
          trackDesc: string; // 歌曲简介
          insertTime: string;
          modifyTime: string;
          trackId: number;
          srcTrackName: string; // 原唱信息
          trackGrid: string;
          trackPline: string;
          trackCline: string;
          displayTime: string; // 显示时间
          productionCompany: string; // 制作公司
          trackType: number; // 歌曲类型: 0 未知（默认） 1 独唱 2 对唱 3 合唱
          hideReasonRemarks: string; // 隐藏原因备注
          originalPublicTime: string; // 首次发行时间
          trackAttr: string; // 歌曲属性, 多个id逗号分隔
          coverType: number; // 翻唱类型： 0 原唱（默认） 1 翻唱 2 白翻唱 3 黑翻唱
          subGenre: string; // 二级流派	多个ID逗号分隔
        };
        trackCopyrights: Array<{
          extendRemarks: {
            id: number;
            attrRemarks: string;
            authTypeRemarks: string;
            isAllSongbankRemarks: string; // 是否全曲库备注
            isOnlyRemarks: string; // 是否总代理备注
            canAuthRemarks: string; // 是否可转授权备注
            authPlatformRemarks: string; // 授权产品备注
            authProductRemarks: string; // 授权产品备注
            authTerminalRemarks: string; // 授权终端备注
            authFormRemarks: string; // 授权形式备注
            cooFactoryRemarks: string; // 硬件厂商合作备注
            canLegalRightsRemarks: string; // 是否可维权备注
            otherRightRemarks: string; // 其他权利备注
            canClipRemarks: string; // 是否可剪辑备注
            networkRemarks: string; // 传播网络备注
            copyrightAreaRemarks: string; // 授权区域备注
            isOverseaOnlyRemarks: string; // 海外总代理备注
            excludePlatformRemarks: string; // 排除平台备注
            otherLimitRemarks: string;
            remarks: string; // 备注
            insertTime: string; // 插入时间
            modifyTime: string; // 修改时间
            copyrightDetailId: number; // 合同detail id 对应合同权利表t_copyright_detail.Fid
            noLinkRemarks: string; // 是否禁止/限制链接备注
            canCoverRemarks: string;
            overseaStatusRemarks: string;
            terminalLimitRemarks: string;
            formLimitRemarks: string;
            excludeAreaRemarks: string;
            networkLimitRemarks: string;
            productLimitRemarks: string;
            productLimitTermsRemarks: string;
            trackId: number; // 歌曲ID
            copyrightLinkId: number; // 版权关联ID 同t_track_copyright.Fid
          };
          copyright: {
            copyrightId: number; // 合同ID
            authType: number; // 合同类型  默认值：1 定义如下： 0 请选择 1 录音录像制作者权利和表演者权利（中央曲库改名叫：录音权） 2 词版权 3 曲版权 4 转授权 5  MV 6 其他（中央曲库新增） 备注：单选
            wmAuthType: number;
            contract: string; // 合同编号 解释：授权方与集团签约后纳入合同系统的编号
            isDefault: number; // 是否默认合同 解释：该合同是否为签约公司的默认标注合约 默认值：0 定义如下： 0 否 1 是 备注：每家公司每一类授权内容仅允许有一个默认合同，也可以没有
            isFree: number; // 免费授权合同 解释：该合同是否为签约公司的免费授权合同 默认值：0 定义如下： 0 否 1 是
            isAllSongbank: number; // 是否全曲库
            otherLimit: string; // 其他限制
            cpCompanyId: number; // 版权公司ID 同t_company.Fcompany_id
            noLink: number; // 是否限制链接 0 否（默认） 1 是
            overseaStatus: number; // 是否可海外漫游 解释：合同内容是否可海外漫游 默认值：0 定义如下： 0 否 1 是 备注：单选
            authorizer: string; // 授权方
            originalObligee: string; // 原始权利人
            attr: string; // 合约属性 解释：该合同是否为签约公司的默认标注合约 默认值： 定义如下： 1 代理 2 普通 3 其他平台转售 4 自有 5 其他 备注：可多选，逗号分隔
            licenseValid: number; // 授权书是否符合维权条件 解释：只有词、曲合同有 默认 0 定义如下： 0 未确定 1 符合 2 不符合
            createUser: string; // 创建人
            rightComplete: number; // 合同权利是否完整 0否1是
            companyType: number; // 版权公司类型 定义如下： 0 无 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
            copyrightType: number; // 合同来源 0 未知（默认） 1 版权部 2 免费授权 3 业管部 4 腾讯音乐人开平 5 腾讯音乐人BD 6 平台自签约
            businessBroker: string; // 商务对接人
            settleMethod: string; // 结算方式 多选 1 纯分成 2 预付分成 3 保底 4 不保底 5 买断
            originalCopyrightFrom: string; // 原始授权开始时间
            originalCopyrightTo: string; // 原始授权结束时间
            signPlatform: string; // 签约平台 多选 1 QQ音乐 2 全民K歌 3 酷狗 4 酷我 5 爱听卓乐 6 懒人听书
            isOnly: number; // 是否总代理  默认值：0 定义如下： 0 非总代理 1 总代理 备注：单选
            canAuth: number; // 是否可转授权  解释：版权方授权内容是否可转授权给其他平台 默认值：0 定义如下： 0 否 1 是 备注：单选
            authPlatform: string; // 授权平台  解释：版权方授权内容可使用平台列表 默认值：空 定义如下： 1 全PC网站 2 全PC客户端 3 全移动端APP 备注：可多选，逗号分隔
            authProduct: string; // 授权产品  解释：版权方授权内容可使用产品列表 默认值：空 定义如下： 1 QQ音乐 2 全民K歌 3 酷狗 4 酷我 5 爱听卓乐 6 企鹅FM（中央曲库新增新增） 7 微视（中央曲库新增新增） 8 轻听（中央曲库新增新增） 9 微信（中央曲库新增新增） 10 QQ空间（中央曲库新增新增） 11 腾讯视频（中央曲库新增新增） 12 繁星（酷狗）直播（中央曲库新增新增） 13 聚星（酷我）直播（中央曲库新增新增） 14 酷我K歌（中央曲库新增新增） 16 5SING（中央曲库新增新增） 17 酷FM（中央曲库新增新增） 18 游戏产品（中央曲库新增新增） 19 彩虹音乐 20 QQ 21 酷我听书 22 2469 23 酷我BOOM 24 酷我电台 25 酷我视频 26 酷狗唱唱 27 酷狗KTV 28 酷狗铃声 29 酷狗直播伴侣 30 短酷 31 巴卟巴卟 32 1822 33 海兔故事 34 Viper HIFI 35 MOO 36 Q音宝贝 37 Q音铃声 38 音兔 39 腾讯时光 40 yoo视频 41 酷狗游戏盒 42 哄你睡 43 酷秀美女视频 44 全民舞指 45 脸红 46 翻茄音乐 47 现有+新增 48 懒人听书 49 芽芽故事 50 懒人关联产品 备注：可多选，逗号分隔
            authTerminal: string; // 授权终端  解释：版权方授权内容可使用平台列表 默认值：空 定义如下： 1  PC电脑 2 平板电脑 3 手机 4 车载电视 5 智能音响 6 机顶盒 7  MPEG4播放器 8 航空器 9 电视机（中央曲库新增） 10 智能电视（中央曲库新增） 11 现有及新增（中央曲库新增） 12 智能耳机 13 实体KTV机器 14 酷我无线蓝牙耳机 15 酷我音箱 16 酷我儿童故事机 备注：可多选，逗号分隔（中央曲库新增）
            authForm: string; // 授权形式  解释：版权方授权内容可使用形式 默认值：空 定义如下： 1 用户点播(中央曲库改名在线收听服务) 2 免费下载（中央曲库改名下载服务） 3 收费点播 4 收费下载 5 网页/个人空间背景音乐定制 6 互联网卡拉OK 7 音乐片段 8 客户端背景音乐内置 9 在线游戏背景音乐 10 歌词翻译 11 转授手机硬件厂商 12 手机白牌 13 视频背景音乐 14 互联网卡拉OK（中央曲库新增） 15 在线收听（中央曲库新增） 16 互联网来电通话铃声或北京音（中央曲库新增） 17 在线直播（中央曲库新增） 18 在线表演（中央曲库新增） 19 MV在线播放业务（中央曲库新增） 20 付费数字专辑（中央曲库新增） 21 付费缓存（中央曲库新增） 22 用户点歌（中央曲库新增） 23 现有及新增（中央曲库新增） 24 彩铃 备注：可多选，逗号分隔
            cooFactory: string; // 硬件厂商合作  解释：版权方授权内容可使用合作厂商 默认值：空 定义如下： 1 TOB（转授内容给硬件厂商） 2 TOC（APP内置） 备注：可多选，逗号分隔
            canLegalRights: number; // 是否可维权  解释：版权方授权内容是否授予维权权利 默认值：0 定义如下： 0 否 1 是 备注：单选
            otherRight: string; // 其他权利  解释：版权方授予的其他特殊权利 默认值：空 定义如下： 1 表演者权利 2 录音制作者权利(仅伴奏) 3 录音制作者权利 4 录音音像制作者权利(MV) 5 专辑封面权利 6 表演者肖像权利 7 复制权 8 翻唱权利 9 发行权 10 出租权 11 展览权 12 表演权 13 广播权 14 信息网络传播权 15 摄制权 16 改编权 17 翻译权 18 汇编权 备注：可多选，逗号分隔
            canClip: number; // 是否可剪辑 解释：版权方授权内容是否授予二次剪辑的权利 默认值：0 定义如下： 0 否 1 是 备注：单选
            network: string; // 传播网络  解释：版权方授权内容可用于传播的网络介质 默认值：空 定义如下： 1互联网 2移动互联网 3有线电视网 4 IPTV 5运营商网络 6现有及新增 备注：可多选，逗号分隔
            copyrightArea: string; // 授权区域  解释：版权方授权内容使用国家或地区 默认值：0 定义如下： 0 中国大陆 1 中国香港 2 中国台湾 3 中国澳门 4 马来西亚 5 泰国 6 印尼 7 亚洲地区 8 全世界 9 南非 10 缅甸 11 菲律宾 12 印度 13 新加坡 14 越南 15 文莱 16 俄罗斯 17 美国 19 加拿大 备注：可多选，逗号分隔
            copyrightFrom: string; // 权利开始日期
            copyrightTo: string; // 权利到期日期
            isOverseaOnly: number; // 海外总代理  解释：海外是否总代理 默认值：0 定义如下： 0 否 1 是 备注：单选
            excludePlatform: string; // 排除平台  解释：版权方授权内容指定排除的平台 默认值：空 定义如下： 1运营商 2硬件厂商 3其他 备注：可多选，逗号分隔
            insertTime: string; // row插入时间
            modifyTime: string; // row修改时间
            coverNeedPermission: number; // 翻唱是否需要版权方许可 0 否（默认） 1 是
            canCoverFrom: string; // 可翻唱开始时间
            canCoverTo: string; // 可翻唱截止时间
            canCover: number; // 是否可翻唱  0 未确定（默认） 1 唱片公司确认可翻唱 2 唱片公司确认不可翻唱
          };
          cpCompany: {
            companyId: number; // 公司ID
            companyName: string; // 公司名
            otherName: string; // 其它名
            type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
            cpMain: string; // 签约公司主体
            companyDesc: string; // 公司介绍
            createUser: string; // 创建人
            insertTime: string; // 插入时间
            modifyTime: string; // 修改时间
            parentCompany: number; // 所属父公司,同t_company.Fcompany_id
            cpCode: string; // 统一社会信用代码
            belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
            department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
            health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
            healthRemarks: string; // 健康度备注
            risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
            riskRemarks: string; // 风险评估备注
          };
          originCpCompany: {
            companyId: number; // 公司ID
            companyName: string; // 公司名
            otherName: string; // 其它名
            type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
            cpMain: string; // 签约公司主体
            companyDesc: string; // 公司介绍
            createUser: string; // 创建人
            insertTime: string; // 插入时间
            modifyTime: string; // 修改时间
            parentCompany: number; // 所属父公司,同t_company.Fcompany_id
            cpCode: string; // 统一社会信用代码
            belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
            department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
            health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
            healthRemarks: string; // 健康度备注
            risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
            riskRemarks: string; // 风险评估备注
          };
          id: number;
          cpStatus: number; // 录音版权状态 定义如下： -1 唱片公司确认无版权 0无版权 1 唱片公司确认有版权
          isAgent: number; // 是否代理 默认值：0 定义如下： 0 否 1 是 2 未知
          cpRemarks: string; // 版权备注
          overseaType: number; // 海外曲库类型 定义如下： 0 未满足运算条件（默认值） 1 [A]白名单曲库 2 [B]漫游包曲库 3 [C]其他TME国内总代曲库 4 [D]非TME总代也非竞品转授的有版权曲库 5-[E]竞品转授和无版权曲库 6-[F]严格合规曲库 备注：这里程序字段生成字段值
          overseaStatus: number; // 海外漫游标记 定义如下： 0 不可海外漫游（默认值） 1 可以海外漫游 2 唱片公司确认不可海外漫游（若原漫游类型为B类曲库，需转为A类曲库） 3 唱片公司要求屏蔽海外漫游 4 唱片公司要求严格合规 备注：这里程序字段生成字段值
          cpDefect: number; // 版权瑕疵 枚举值： 0 无 1 盗歌 2 抄袭 3 翻唱 4 版权重叠 5 无版权证明
          isAllSongbank: number; // 是否全曲库 默认值：否
          isOnly: number; // 是否总代理 默认值：否
          canAuth: number; // 是否可转授权 默认值：否
          authPlatform: string; // 授权平台
          authProduct: string; // 授权产品 默认值：QQ音乐，酷狗，酷我，全民K歌，爱听卓乐
          authTerminal: string; // 授权终端
          authForm: string; // 授权形式
          cooFactory: string; // 硬件厂商合作
          canLegalRights: number; // 是否可维权 默认值：否
          otherRight: string; // 其他权利
          canClip: number; // 是否可剪辑
          network: string; // 传播网络
          copyrightArea: string; // 授权区域
          copyrightFrom: string; // 权利开始日期
          copyrightTo: string; // 权利到期日期
          authPostponed: number; // 授权时间顺延 解释：授权时间顺延。当编辑选择是之后。免费授权的权利到期之后，自动增加一年 默认值：0 定义如下： 0 否 1 是
          isOverseaOnly: number; // 海外总代理 默认值：否
          excludePlatform: string; // 排除平台
          otherLimit: string; // 其他限制
          insertTime: string; // 插入时间
          modifyTime: string; // 修改时间
          copyrightId: number; // 合同ID 同t_copyright.Fcopyright_id
          cpCompanyId: number; // 版权公司ID 同t_company.Fcompany_id
          originCpCompanyId: number; // 原始版权公司ID 同t_company.Fcompany_id
          trackId: number; // 歌曲ID 同t_track.Ftrack_id
          cpSource: number; // 版权来源 0 无（默认） 1 免费授权 2 签约上架 3 认领版权 4 版权到期 5 投诉侵权 6 唱片公司取消上架 7 侵权预警 8 伴奏单独签约 9 翻唱正版化
          cpDiffusionSource: string; // 版权扩散来源歌曲
          companyType: number; // 版权公司类型 定义如下： 0 无 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
          copyrightType: number; // 合同来源 0 未知（默认） 1 版权部 2 免费授权 3 业管部 4 腾讯音乐人开平 5 腾讯音乐人BD 6 平台自签约
          needSync: number; // 合同信息是否同步 定义如下： 0 否（默认） 1 是
          noLink: number; // 是否禁止/限制链接 定义如下： 0 否（默认） 1 是
          copyrightDetailId: number; // 合同detail id 对应合同权利表t_copyright_detail.Fid
          syncMark: number; // 版权同步控制标记
        }>;
        trackId: number; // 歌曲ID
        srcTrackId: number; // 官方歌曲ID
        srcTrackName: string; // 官方歌曲名
        trackName: string; // 歌曲名
        transName: string; // 翻译名
        otherName: string; // 其他名
        location: number; // 曲序: 歌曲所在专辑中的顺序 -1代表未知
        cdIndex: number; // CD索引: 歌曲所在专辑中的所属CD位置  默认值：0 0 CD1 1 CD2 2 CD3 ...
        srcVersion: string; // 官方版本,  以唱片公司提供信息为准
        version: number; // 版本ID:  -1 未知 0 完整版 1 Radio Edit 2 清晰版 3 Live 4 TV Verison 5 Demo ...
        isrc: string;
        iswc: string;
        worksName: string; // 作品集名
        worksTransName: string; // 作品集翻译名
        language: number; // 默认值 -1  定义如下： -1 未知 0 普通话 1 粤语 2 闽南语 ...
        srcGenre: string; // 官方流派
        genre: string; // 一级流派	多个ID逗号分隔
        publicTime: string; // 发行时间
        firstPublicTime: string; // 首发期限时间
        saleTime: string; // 发售日期
        status: number; // 歌曲状态: 解释：控制歌曲上下架操作  默认值：0 定义如下： 0 隐藏 1 上架 2 停用
        hideReason: number; // 隐藏原因ID: 默认: 12  定义如下： 0 无（默认值） 1 无媒体文件 2 重复上传 3 音频异常 4 网易总代理 5 阿里总代理 ... 11 涉黄赌毒敏感 12 待上线 ...
        ffrom: number; // 音频来源:    解释：音频文件来源渠道  默认值：0 定义如下： 0 唱片公司提供 1 CP提供 2 CD转换 3 互联网扒取 ...
        trackNumber: string; // 歌曲编号, 文本录入，主要结算使用
        isMain: number; // 是否主打曲: 0否  1是
        replaceTrackId: number; // 保留歌曲ID,  解释：替换歌曲的时候保留的歌曲id
        createUser: string;
        insertTime: string;
        modifyTime: string;
        albumId: number; // 所属专辑ID
      }>;
      publicCompany: {
        companyId: number; // 公司ID
        companyName: string; // 公司名
        otherName: string; // 其它名
        type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
        cpMain: string; // 签约公司主体
        companyDesc: string; // 公司介绍
        createUser: string; // 创建人
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        parentCompany: number; // 所属父公司,同t_company.Fcompany_id
        cpCode: string; // 统一社会信用代码
        belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
        department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
        health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
        healthRemarks: string; // 健康度备注
        risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
        riskRemarks: string; // 风险评估备注
      };
      albumId: number; // 专辑ID
      srcAlbumId: number; // 官方专辑ID
      srcAlbumName: string; // 官方专辑名
      albumName: string; // 专辑名
      version: string; // 专辑属性 定义如下： 0 无 1 精选 2 影视 3 综艺 4 现场 5 长音频 6 DEMO 7 REMIX 8 Special Edition 9 Deluxe 10 Clean 11 Explicit 12 ACG 备注多选，逗号隔开
      displayCompanyId: number; // 外显唱片公司
      srcLanguage: string; // 专辑官方语言 解释：专辑语言文本数据录入，以官方提供具体数据为准
      genre: string; // 专辑流派 定义如下： 默认值0 0 无流派 1 宗教 2 流行 3 爵士 4 嘻哈 5 民谣 6 乡村 7 蓝调 8 节奏布鲁斯 9 摇滚 10 新世纪 11 金属 12 雷鬼 13 电子舞曲 14 古典 15 轻音乐 16 儿童 17 中国特色 18 世界音乐 19 原声/舞台 20 实验音乐 21 有声内容 22 其他 备注：可多选，逗号分隔
      subGenre: string; // 二级流派
      transName: string; // 翻译名
      otherName: string; // 其他名
      area: number; // 专辑地区 默认值：6 定义如下： 0  港台 1  内地 2  日韩 3  欧美 4  其他 5  东南亚 6  未知
      srcVersion: string; // 专辑官方版本 专辑版本为本数据录入，以官方提供具体数据为准
      publicCompanyId: number; // 发行公司 同t_company.Fcompany_id
      publicTime: string; // 发行日期
      saleTime: string; // 发售日期
      upc: string; // 专辑UPC 版权方注册提供的专辑统一编码
      type: number; // 专辑类型 解释：根据发行歌曲数量及版权方定义对专辑进行的类型划分 默认值：-1 定义如下： -1 未知 0 录音室专辑 1 演唱会 2 影视 3 动漫 4 游戏 5 舞曲 6 纯音乐 7 相声评书 8 戏曲 9 有声书籍 10 Single 11 EP 12 古典作品 13 同人音乐 14 广播剧 15 人声音频 16 有声资讯 17 综艺娱乐 18 儿童教育 19 音乐节目 20 脱口秀 21 搞笑段子 22 情感生活 23 其他
      language: string; // 专辑语言 定义如下： 0 普通话 1 粤语 2 闽南语 3 日语 4 韩语 5 英语 6 法语 7 其他 8 拉丁 9 纯音乐 10 德语 11 俄语 12 印度语 13 泰语 14 印尼语 15 菲律宾语 16 西班牙语 17 印第安语 18 葡萄牙语 19 意大利语 20 瑞典语 21 波兰语 22 丹麦语 23 芬兰语 24 越南语 25 藏语 26 马来语 27 阿拉伯语 28 客家语 29 潮汕语 30 维语 31 冰岛语 32 挪威语 33 希腊语 34 荷兰语 35 捷克语 36 乌克兰语 37 蒙语 38 哈萨克语 39 缅甸语 40 格鲁吉亚语 41 罗马尼亚语 注：可多选，逗号分隔
      srcGenre: string; // 专辑官方流派 解释：专辑流派文本数据录入，以官方提供具体数据为准
      status: number; // 专辑状态 解释：根据专辑下歌曲状态运算后得到的专辑状态 默认值：0 定义如下： 0 隐藏 1 上架 2 停用 备注：专辑状态要保留隐藏，因为专辑状态是随歌曲状态变化
      discNumber: string; // 唱片编号 解释：由版权方提供的唱片专属编号，主要用于结算使用
      albumDesc: string; // 专辑介绍 专辑介绍，限制8000字
      isDigital: number; // 是否是数字专辑 0否 1是 2曾经是
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
    }>;
  };
  traceId: string;
}

/**
 * 专辑分页查询
 */
export async function postAlbumPage(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostAlbumPageRes> {
  return request(data, {
    url: '/album/page',
    method: 'post',
    ...config,
  });
}

export interface GetAlbumIdRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    trackNum: number; // 歌曲数量
    albumExtend: {
      albumId: number; // 专辑ID
      srcDuration: number; // 官方专辑时长
      realDuration: number; // 实际专辑时长
      scheduleStatus: number; // 连载状态 1 连载中 2 已完结
      originalPublicTime: string; // 首次发行时间 入库时发行时间
      maintainer: number; // 维护方 0 中央曲库维护 1 Q音平台 2 酷狗平台 3 酷我平台 4 爱听卓越 5 音乐人系统 6 音乐人BD 7 信息自助管理平台 8 懒人听书
      id: number;
      merlinDpid: string; // DPID 解释：DPID是Merlin Memeber的一个ID 备注： Merlin提供的结算明细模板要求需要DPID和Member
      merlinMember: string; // MemberName 解释：Merlin Member的名称 也可以叫party name
      xmlPath: string; // XML文件存储 解释：唱片公司原始XML文件。 cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
      xmlUrl: string; // XML文件url 解释：拼接的下载url
      tmeszCode: string; // 数字专辑集团代码
      srcSinger: string; // 官方歌手名
      subTitle: string; // 专辑副标题
      movieName: string; // 影视名
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      albumEan: string; // EAN 国际货品编号
      albumGrid: string; // Grid 发行作品识别码
      albumPline: string; // pline
      albumCline: string; // cline
      displayTime: string; // 专辑可显示时间
      parentGuidance: string; // 家长指导内容 默认值：0 无建议 枚举值： 0 无建议 1 不含粗口 2 粗口内容已剪辑 3 粗口
      displayCompanyName: string; // 外显公司名称
    };
    albumMap: {
      id: number;
      globalId: number; // TME ID
      qkId: number; // 曲库ID
      qqId: number; // Q音ID
      kgId: number; // 酷狗ID
      kwId: number; // 酷我ID
      umId: number; // 爱听ID
      lrId: number;
      tempId: number;
      musicianId: number; // 音乐人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      insertFrom: number; // 数据来源 0 未知 1 系统对接 2 人工创建 3 历史曲库迁移 4 批量导入 5 自助管理平台 6 音乐人 7 Q音上报 8 酷我上报 9 酷狗上报 10 Q音主播 11 酷我主播 12 酷狗主播 13 爱听上报 14 K歌上报 15 TME曲库同步 16 懒人听书 17 懒人主播 18 TME Live 19 高危曲库 20 互联网爬取
    };
    albumCopyright: {
      albumId: number; // 专辑ID
      id: number;
      cpCompanyId: number; // 版权公司 同t_company.Fcompany_id
      cpCompany: {
        companyId: number; // 公司ID
        companyName: string; // 公司名
        otherName: string; // 其它名
        type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
        cpMain: string; // 签约公司主体
        companyDesc: string; // 公司介绍
        createUser: string; // 创建人
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        parentCompany: number; // 所属父公司,同t_company.Fcompany_id
        cpCode: string; // 统一社会信用代码
        belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
        department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
        health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
        healthRemarks: string; // 健康度备注
        risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
        riskRemarks: string; // 风险评估备注
      };
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
    };
    albumPayment: {
      id: number;
      preSaleBegin: string; // 预售时间
      saleType: number; // 售卖类型 枚举值： -1 无 0  预售 1  正售 2  预售+正售
      paymentBegin: string; // 售卖开始时间
      paymentEnd: string; // 售卖结束时间
      price: number; // 售卖价格
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      albumId: number; // 专辑ID
      onSale: number; // 是否在售 与售卖期无关 0 否 1 是
    };
    albumLicenses: Array<{
      albumId: number; // 专辑ID
      id: number;
      licensePath: string; // 授权文件存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
      licenseUrl: string; // 授权文件url 解释：拼接的下载url
      fileName: string; // 文件名
      fileMd5: string; // 文件md5
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      fileSize: number; // 文件大小
    }>;
    albumPhotos: Array<{
      albumId: number; // 专辑ID
      displayTime: string; // 显示时间
      imageResolution: number; // 图像分辨率
      isOfficial: number; // 是否官方 默认值：0 0 否 1 是
      encodeStatus: number;
      id: number;
      photoUsing: number; // 是否使用中 解释：图片删除了，Fusing=0 默认值：0 定义： 0 未使用 1 使用中
      orderIndex: number; // 图片顺序 多图的顺序index 默认：0 代表第一张
      photoPath: string; // 图存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
      photoUrl: string; // 图片url 解释：拼接的下载url
      md5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
      photoSize: number; // 源图文件大小
      photoHeight: number; // 源图高
      photoWidth: number; // 源图宽
      qCfs: string; // Q音图存储 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
      qUrl: string; // Q音图片url 解释：下载url
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
    }>;
    albumSingers: Array<{
      albumId: number; // 专辑ID
      ddexRole: string;
      id: number;
      singerId: number; // 歌手ID
      isOfficial: number; // 是否库内歌手 翻译：歌手是否属于库内歌手 定义如下： 0 否 1 是
      orderIndex: number; // 歌手顺序 歌手顺序。0开始递增
      singerName: string; // 库外歌手名 解释：当Fis_official=0代表库外歌手时
      insertTime: string; // 插入时间
      modifyTime: string; // 插入时间
    }>;
    xmls: Array<{
      albumId: number; // 专辑ID
      tempAlbumId: number; // 临时库专辑ID
      albumUpc: string; // 专辑UPC
      cpId: number; // 版权公司ID
      albumXmlPath: string; // XML path
      albumXmlUrl: string; // XML cos url
      uploadTime: string; // 上传时间
    }>;
    albumTracks: Array<{
      trackMedia: {
        mediaId: number;
        fUsing: number; // 是否使用中 默认值：0 定义： 0 未使用 1 使用中
        mediaPath: string; // 音频存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
        mediaUrl: string; // 音频url 解释：拼接的下载url
        fileName: string; // 原始文件名
        fileType: string; // 解释：音频文件格式 定义如下：wma，mp3，ape，flac，WAV
        fileSize: number; // 解释：音频文件大小。单位kB
        fileMd5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
        duration: number; // 解释：播放时长。单位毫秒ms
        checkQuality: string; // 解释：音质检查的结果，可能有好多结果枚举值。逗号隔开  枚举值定义： ======严重错误======= 4 后缀名出错 6 声道不符合标准 7 采样率不符合标准 -9 解码出错 ...
        remarks: string; // 备注
        qCfs: string; // 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
        insertTime: string;
        modifyTime: string;
        trackId: number;
      };
      trackPayment: {
        id: number;
        price: number; // 售卖价格
        paymentMark: number; // 付费备注ID
        insertTime: string;
        modifyTime: string;
        paymentModeId: number; // 付费模式ID: ===> 参见：付费管理/付费模式录入
        paymentMode: {
          roleRights: Array<{
            roleRightId: number; // 角色权利ID
            userRole: number; // 用户身份 字段定义： 0 普通用户 3 单曲购买用户 4 专辑购买用户 6 歌曲包月用户 7 长音频包月用户 备注：单选
            canListen: number; // 可播放 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
            canDownload: number; // 可下载 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
            canCache: number; // 可缓存 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
            canTryListen: number; // 可试听 字段定义：试听30s 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
            invalidPrompt: number; // 受阻层 字段定义： 0 无 1 下载受阻开通付费包 2 缓存受阻开通付费包 3 付费播放+下载受阻开通付费包 4 付费播放+缓存受阻开通付费包 5 专辑购买 6 单曲购买 7 不可在线播放只可下载 8 不可在线播放只可缓存 9 播放+下载无损品质受阻开通付费包 10 免费歌曲HQSQ受阻开付费包 11 所有用户不可下载
            insertTime: string; // 插入时间
            modifyTime: string; // 修改时间
            paymentModeId: number; // 付费模式ID
          }>;
          paymentModeId: number; // 付费ID
          paymentModeName: string; // 付费模式名
          paymentType: number; // 付费口径 字段定义： 0-免费 1 付费1.0 2 付费2.0 3 付费3.0 4 数字专辑 备注：单选
          contentType: number; // 内容类型 字段定义： 0 所有内容 1 歌曲 2 长音频 备注：0 代表所有内容都可配该模式
          insertTime: string; // 插入时间
          modifyTime: string; // 更新时间
        };
        trackId: number;
        paymentMarkDesc: string; // 付费备注说明
        paymentNotify: number; // 付费受阻文案ID
        paymentReason: number; // 付费3.0原因ID: 0 无 1 集团策略转入 2 首发已过限免期 3 首发上架即无免 4 其他变更进入无免 5 集团策略转出
        srcPaymentModeId: number; // 官方付费模式id
        freeDuration: number;
        freeBeginTime: string;
      };
      trackSingers: Array<{
        id: number;
        singerId: number; // 歌手ID
        isOfficial: number; // 是否库内歌手 翻译：歌手是否属于库内歌手 定义如下： 0 否 1 是
        orderIndex: number; // 歌手顺序 歌手顺序。0开始递增
        singerName: string; // 库外歌手名 解释：当Fis_official=0代表库外歌手时
        insertTime: string;
        modifyTime: string;
        trackId: number; // 歌曲ID
        ddexRole: string;
      }>;
      trackExtend: {
        id: number;
        wordAuthor: string; // 作词
        musicAuthor: string; // 作曲
        arrangeAuthor: string; // 编曲
        producer: string; // 制作人
        mixer: string;
        parentGuidance: string; // 家长指引
        subTitle: string; // 副标题
        tvName: string; // 影视名
        createBg: string; // 创作背景
        awardRecord: string; // 获奖记录
        srcMusic: number; // 原曲
        srcTrack: number; // 原唱
        srcSingerName: string; // 官方歌手名
        trackDesc: string; // 歌曲简介
        insertTime: string;
        modifyTime: string;
        trackId: number;
        srcTrackName: string; // 原唱信息
        trackGrid: string;
        trackPline: string;
        trackCline: string;
        displayTime: string; // 显示时间
        productionCompany: string; // 制作公司
        trackType: number; // 歌曲类型: 0 未知（默认） 1 独唱 2 对唱 3 合唱
        hideReasonRemarks: string; // 隐藏原因备注
        originalPublicTime: string; // 首次发行时间
        trackAttr: string; // 歌曲属性, 多个id逗号分隔
        coverType: number; // 翻唱类型： 0 原唱（默认） 1 翻唱 2 白翻唱 3 黑翻唱
        subGenre: string; // 二级流派	多个ID逗号分隔
      };
      trackCopyrights: Array<{
        extendRemarks: {
          id: number;
          attrRemarks: string;
          authTypeRemarks: string;
          isAllSongbankRemarks: string; // 是否全曲库备注
          isOnlyRemarks: string; // 是否总代理备注
          canAuthRemarks: string; // 是否可转授权备注
          authPlatformRemarks: string; // 授权产品备注
          authProductRemarks: string; // 授权产品备注
          authTerminalRemarks: string; // 授权终端备注
          authFormRemarks: string; // 授权形式备注
          cooFactoryRemarks: string; // 硬件厂商合作备注
          canLegalRightsRemarks: string; // 是否可维权备注
          otherRightRemarks: string; // 其他权利备注
          canClipRemarks: string; // 是否可剪辑备注
          networkRemarks: string; // 传播网络备注
          copyrightAreaRemarks: string; // 授权区域备注
          isOverseaOnlyRemarks: string; // 海外总代理备注
          excludePlatformRemarks: string; // 排除平台备注
          otherLimitRemarks: string;
          remarks: string; // 备注
          insertTime: string; // 插入时间
          modifyTime: string; // 修改时间
          copyrightDetailId: number; // 合同detail id 对应合同权利表t_copyright_detail.Fid
          noLinkRemarks: string; // 是否禁止/限制链接备注
          canCoverRemarks: string;
          overseaStatusRemarks: string;
          terminalLimitRemarks: string;
          formLimitRemarks: string;
          excludeAreaRemarks: string;
          networkLimitRemarks: string;
          productLimitRemarks: string;
          productLimitTermsRemarks: string;
          trackId: number; // 歌曲ID
          copyrightLinkId: number; // 版权关联ID 同t_track_copyright.Fid
        };
        copyright: {
          copyrightId: number; // 合同ID
          authType: number; // 合同类型  默认值：1 定义如下： 0 请选择 1 录音录像制作者权利和表演者权利（中央曲库改名叫：录音权） 2 词版权 3 曲版权 4 转授权 5  MV 6 其他（中央曲库新增） 备注：单选
          wmAuthType: number;
          contract: string; // 合同编号 解释：授权方与集团签约后纳入合同系统的编号
          isDefault: number; // 是否默认合同 解释：该合同是否为签约公司的默认标注合约 默认值：0 定义如下： 0 否 1 是 备注：每家公司每一类授权内容仅允许有一个默认合同，也可以没有
          isFree: number; // 免费授权合同 解释：该合同是否为签约公司的免费授权合同 默认值：0 定义如下： 0 否 1 是
          isAllSongbank: number; // 是否全曲库
          otherLimit: string; // 其他限制
          cpCompanyId: number; // 版权公司ID 同t_company.Fcompany_id
          noLink: number; // 是否限制链接 0 否（默认） 1 是
          overseaStatus: number; // 是否可海外漫游 解释：合同内容是否可海外漫游 默认值：0 定义如下： 0 否 1 是 备注：单选
          authorizer: string; // 授权方
          originalObligee: string; // 原始权利人
          attr: string; // 合约属性 解释：该合同是否为签约公司的默认标注合约 默认值： 定义如下： 1 代理 2 普通 3 其他平台转售 4 自有 5 其他 备注：可多选，逗号分隔
          licenseValid: number; // 授权书是否符合维权条件 解释：只有词、曲合同有 默认 0 定义如下： 0 未确定 1 符合 2 不符合
          createUser: string; // 创建人
          rightComplete: number; // 合同权利是否完整 0否1是
          companyType: number; // 版权公司类型 定义如下： 0 无 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
          copyrightType: number; // 合同来源 0 未知（默认） 1 版权部 2 免费授权 3 业管部 4 腾讯音乐人开平 5 腾讯音乐人BD 6 平台自签约
          businessBroker: string; // 商务对接人
          settleMethod: string; // 结算方式 多选 1 纯分成 2 预付分成 3 保底 4 不保底 5 买断
          originalCopyrightFrom: string; // 原始授权开始时间
          originalCopyrightTo: string; // 原始授权结束时间
          signPlatform: string; // 签约平台 多选 1 QQ音乐 2 全民K歌 3 酷狗 4 酷我 5 爱听卓乐 6 懒人听书
          isOnly: number; // 是否总代理  默认值：0 定义如下： 0 非总代理 1 总代理 备注：单选
          canAuth: number; // 是否可转授权  解释：版权方授权内容是否可转授权给其他平台 默认值：0 定义如下： 0 否 1 是 备注：单选
          authPlatform: string; // 授权平台  解释：版权方授权内容可使用平台列表 默认值：空 定义如下： 1 全PC网站 2 全PC客户端 3 全移动端APP 备注：可多选，逗号分隔
          authProduct: string; // 授权产品  解释：版权方授权内容可使用产品列表 默认值：空 定义如下： 1 QQ音乐 2 全民K歌 3 酷狗 4 酷我 5 爱听卓乐 6 企鹅FM（中央曲库新增新增） 7 微视（中央曲库新增新增） 8 轻听（中央曲库新增新增） 9 微信（中央曲库新增新增） 10 QQ空间（中央曲库新增新增） 11 腾讯视频（中央曲库新增新增） 12 繁星（酷狗）直播（中央曲库新增新增） 13 聚星（酷我）直播（中央曲库新增新增） 14 酷我K歌（中央曲库新增新增） 16 5SING（中央曲库新增新增） 17 酷FM（中央曲库新增新增） 18 游戏产品（中央曲库新增新增） 19 彩虹音乐 20 QQ 21 酷我听书 22 2469 23 酷我BOOM 24 酷我电台 25 酷我视频 26 酷狗唱唱 27 酷狗KTV 28 酷狗铃声 29 酷狗直播伴侣 30 短酷 31 巴卟巴卟 32 1822 33 海兔故事 34 Viper HIFI 35 MOO 36 Q音宝贝 37 Q音铃声 38 音兔 39 腾讯时光 40 yoo视频 41 酷狗游戏盒 42 哄你睡 43 酷秀美女视频 44 全民舞指 45 脸红 46 翻茄音乐 47 现有+新增 48 懒人听书 49 芽芽故事 50 懒人关联产品 备注：可多选，逗号分隔
          authTerminal: string; // 授权终端  解释：版权方授权内容可使用平台列表 默认值：空 定义如下： 1  PC电脑 2 平板电脑 3 手机 4 车载电视 5 智能音响 6 机顶盒 7  MPEG4播放器 8 航空器 9 电视机（中央曲库新增） 10 智能电视（中央曲库新增） 11 现有及新增（中央曲库新增） 12 智能耳机 13 实体KTV机器 14 酷我无线蓝牙耳机 15 酷我音箱 16 酷我儿童故事机 备注：可多选，逗号分隔（中央曲库新增）
          authForm: string; // 授权形式  解释：版权方授权内容可使用形式 默认值：空 定义如下： 1 用户点播(中央曲库改名在线收听服务) 2 免费下载（中央曲库改名下载服务） 3 收费点播 4 收费下载 5 网页/个人空间背景音乐定制 6 互联网卡拉OK 7 音乐片段 8 客户端背景音乐内置 9 在线游戏背景音乐 10 歌词翻译 11 转授手机硬件厂商 12 手机白牌 13 视频背景音乐 14 互联网卡拉OK（中央曲库新增） 15 在线收听（中央曲库新增） 16 互联网来电通话铃声或北京音（中央曲库新增） 17 在线直播（中央曲库新增） 18 在线表演（中央曲库新增） 19 MV在线播放业务（中央曲库新增） 20 付费数字专辑（中央曲库新增） 21 付费缓存（中央曲库新增） 22 用户点歌（中央曲库新增） 23 现有及新增（中央曲库新增） 24 彩铃 备注：可多选，逗号分隔
          cooFactory: string; // 硬件厂商合作  解释：版权方授权内容可使用合作厂商 默认值：空 定义如下： 1 TOB（转授内容给硬件厂商） 2 TOC（APP内置） 备注：可多选，逗号分隔
          canLegalRights: number; // 是否可维权  解释：版权方授权内容是否授予维权权利 默认值：0 定义如下： 0 否 1 是 备注：单选
          otherRight: string; // 其他权利  解释：版权方授予的其他特殊权利 默认值：空 定义如下： 1 表演者权利 2 录音制作者权利(仅伴奏) 3 录音制作者权利 4 录音音像制作者权利(MV) 5 专辑封面权利 6 表演者肖像权利 7 复制权 8 翻唱权利 9 发行权 10 出租权 11 展览权 12 表演权 13 广播权 14 信息网络传播权 15 摄制权 16 改编权 17 翻译权 18 汇编权 备注：可多选，逗号分隔
          canClip: number; // 是否可剪辑 解释：版权方授权内容是否授予二次剪辑的权利 默认值：0 定义如下： 0 否 1 是 备注：单选
          network: string; // 传播网络  解释：版权方授权内容可用于传播的网络介质 默认值：空 定义如下： 1互联网 2移动互联网 3有线电视网 4 IPTV 5运营商网络 6现有及新增 备注：可多选，逗号分隔
          copyrightArea: string; // 授权区域  解释：版权方授权内容使用国家或地区 默认值：0 定义如下： 0 中国大陆 1 中国香港 2 中国台湾 3 中国澳门 4 马来西亚 5 泰国 6 印尼 7 亚洲地区 8 全世界 9 南非 10 缅甸 11 菲律宾 12 印度 13 新加坡 14 越南 15 文莱 16 俄罗斯 17 美国 19 加拿大 备注：可多选，逗号分隔
          copyrightFrom: string; // 权利开始日期
          copyrightTo: string; // 权利到期日期
          isOverseaOnly: number; // 海外总代理  解释：海外是否总代理 默认值：0 定义如下： 0 否 1 是 备注：单选
          excludePlatform: string; // 排除平台  解释：版权方授权内容指定排除的平台 默认值：空 定义如下： 1运营商 2硬件厂商 3其他 备注：可多选，逗号分隔
          insertTime: string; // row插入时间
          modifyTime: string; // row修改时间
          coverNeedPermission: number; // 翻唱是否需要版权方许可 0 否（默认） 1 是
          canCoverFrom: string; // 可翻唱开始时间
          canCoverTo: string; // 可翻唱截止时间
          canCover: number; // 是否可翻唱  0 未确定（默认） 1 唱片公司确认可翻唱 2 唱片公司确认不可翻唱
        };
        cpCompany: {
          companyId: number; // 公司ID
          companyName: string; // 公司名
          otherName: string; // 其它名
          type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
          cpMain: string; // 签约公司主体
          companyDesc: string; // 公司介绍
          createUser: string; // 创建人
          insertTime: string; // 插入时间
          modifyTime: string; // 修改时间
          parentCompany: number; // 所属父公司,同t_company.Fcompany_id
          cpCode: string; // 统一社会信用代码
          belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
          department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
          health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
          healthRemarks: string; // 健康度备注
          risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
          riskRemarks: string; // 风险评估备注
        };
        originCpCompany: {
          companyId: number; // 公司ID
          companyName: string; // 公司名
          otherName: string; // 其它名
          type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
          cpMain: string; // 签约公司主体
          companyDesc: string; // 公司介绍
          createUser: string; // 创建人
          insertTime: string; // 插入时间
          modifyTime: string; // 修改时间
          parentCompany: number; // 所属父公司,同t_company.Fcompany_id
          cpCode: string; // 统一社会信用代码
          belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
          department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
          health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
          healthRemarks: string; // 健康度备注
          risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
          riskRemarks: string; // 风险评估备注
        };
        id: number;
        cpStatus: number; // 录音版权状态 定义如下： -1 唱片公司确认无版权 0无版权 1 唱片公司确认有版权
        isAgent: number; // 是否代理 默认值：0 定义如下： 0 否 1 是 2 未知
        cpRemarks: string; // 版权备注
        overseaType: number; // 海外曲库类型 定义如下： 0 未满足运算条件（默认值） 1 [A]白名单曲库 2 [B]漫游包曲库 3 [C]其他TME国内总代曲库 4 [D]非TME总代也非竞品转授的有版权曲库 5-[E]竞品转授和无版权曲库 6-[F]严格合规曲库 备注：这里程序字段生成字段值
        overseaStatus: number; // 海外漫游标记 定义如下： 0 不可海外漫游（默认值） 1 可以海外漫游 2 唱片公司确认不可海外漫游（若原漫游类型为B类曲库，需转为A类曲库） 3 唱片公司要求屏蔽海外漫游 4 唱片公司要求严格合规 备注：这里程序字段生成字段值
        cpDefect: number; // 版权瑕疵 枚举值： 0 无 1 盗歌 2 抄袭 3 翻唱 4 版权重叠 5 无版权证明
        isAllSongbank: number; // 是否全曲库 默认值：否
        isOnly: number; // 是否总代理 默认值：否
        canAuth: number; // 是否可转授权 默认值：否
        authPlatform: string; // 授权平台
        authProduct: string; // 授权产品 默认值：QQ音乐，酷狗，酷我，全民K歌，爱听卓乐
        authTerminal: string; // 授权终端
        authForm: string; // 授权形式
        cooFactory: string; // 硬件厂商合作
        canLegalRights: number; // 是否可维权 默认值：否
        otherRight: string; // 其他权利
        canClip: number; // 是否可剪辑
        network: string; // 传播网络
        copyrightArea: string; // 授权区域
        copyrightFrom: string; // 权利开始日期
        copyrightTo: string; // 权利到期日期
        authPostponed: number; // 授权时间顺延 解释：授权时间顺延。当编辑选择是之后。免费授权的权利到期之后，自动增加一年 默认值：0 定义如下： 0 否 1 是
        isOverseaOnly: number; // 海外总代理 默认值：否
        excludePlatform: string; // 排除平台
        otherLimit: string; // 其他限制
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        copyrightId: number; // 合同ID 同t_copyright.Fcopyright_id
        cpCompanyId: number; // 版权公司ID 同t_company.Fcompany_id
        originCpCompanyId: number; // 原始版权公司ID 同t_company.Fcompany_id
        trackId: number; // 歌曲ID 同t_track.Ftrack_id
        cpSource: number; // 版权来源 0 无（默认） 1 免费授权 2 签约上架 3 认领版权 4 版权到期 5 投诉侵权 6 唱片公司取消上架 7 侵权预警 8 伴奏单独签约 9 翻唱正版化
        cpDiffusionSource: string; // 版权扩散来源歌曲
        companyType: number; // 版权公司类型 定义如下： 0 无 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
        copyrightType: number; // 合同来源 0 未知（默认） 1 版权部 2 免费授权 3 业管部 4 腾讯音乐人开平 5 腾讯音乐人BD 6 平台自签约
        needSync: number; // 合同信息是否同步 定义如下： 0 否（默认） 1 是
        noLink: number; // 是否禁止/限制链接 定义如下： 0 否（默认） 1 是
        copyrightDetailId: number; // 合同detail id 对应合同权利表t_copyright_detail.Fid
        syncMark: number; // 版权同步控制标记
      }>;
      trackId: number; // 歌曲ID
      srcTrackId: number; // 官方歌曲ID
      srcTrackName: string; // 官方歌曲名
      trackName: string; // 歌曲名
      transName: string; // 翻译名
      otherName: string; // 其他名
      location: number; // 曲序: 歌曲所在专辑中的顺序 -1代表未知
      cdIndex: number; // CD索引: 歌曲所在专辑中的所属CD位置  默认值：0 0 CD1 1 CD2 2 CD3 ...
      srcVersion: string; // 官方版本,  以唱片公司提供信息为准
      version: number; // 版本ID:  -1 未知 0 完整版 1 Radio Edit 2 清晰版 3 Live 4 TV Verison 5 Demo ...
      isrc: string;
      iswc: string;
      worksName: string; // 作品集名
      worksTransName: string; // 作品集翻译名
      language: number; // 默认值 -1  定义如下： -1 未知 0 普通话 1 粤语 2 闽南语 ...
      srcGenre: string; // 官方流派
      genre: string; // 一级流派	多个ID逗号分隔
      publicTime: string; // 发行时间
      firstPublicTime: string; // 首发期限时间
      saleTime: string; // 发售日期
      status: number; // 歌曲状态: 解释：控制歌曲上下架操作  默认值：0 定义如下： 0 隐藏 1 上架 2 停用
      hideReason: number; // 隐藏原因ID: 默认: 12  定义如下： 0 无（默认值） 1 无媒体文件 2 重复上传 3 音频异常 4 网易总代理 5 阿里总代理 ... 11 涉黄赌毒敏感 12 待上线 ...
      ffrom: number; // 音频来源:    解释：音频文件来源渠道  默认值：0 定义如下： 0 唱片公司提供 1 CP提供 2 CD转换 3 互联网扒取 ...
      trackNumber: string; // 歌曲编号, 文本录入，主要结算使用
      isMain: number; // 是否主打曲: 0否  1是
      replaceTrackId: number; // 保留歌曲ID,  解释：替换歌曲的时候保留的歌曲id
      createUser: string;
      insertTime: string;
      modifyTime: string;
      albumId: number; // 所属专辑ID
    }>;
    publicCompany: {
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    };
    albumId: number; // 专辑ID
    srcAlbumId: number; // 官方专辑ID
    srcAlbumName: string; // 官方专辑名
    albumName: string; // 专辑名
    version: string; // 专辑属性 定义如下： 0 无 1 精选 2 影视 3 综艺 4 现场 5 长音频 6 DEMO 7 REMIX 8 Special Edition 9 Deluxe 10 Clean 11 Explicit 12 ACG 备注多选，逗号隔开
    displayCompanyId: number; // 外显唱片公司
    srcLanguage: string; // 专辑官方语言 解释：专辑语言文本数据录入，以官方提供具体数据为准
    genre: string; // 专辑流派 定义如下： 默认值0 0 无流派 1 宗教 2 流行 3 爵士 4 嘻哈 5 民谣 6 乡村 7 蓝调 8 节奏布鲁斯 9 摇滚 10 新世纪 11 金属 12 雷鬼 13 电子舞曲 14 古典 15 轻音乐 16 儿童 17 中国特色 18 世界音乐 19 原声/舞台 20 实验音乐 21 有声内容 22 其他 备注：可多选，逗号分隔
    subGenre: string; // 二级流派
    transName: string; // 翻译名
    otherName: string; // 其他名
    area: number; // 专辑地区 默认值：6 定义如下： 0  港台 1  内地 2  日韩 3  欧美 4  其他 5  东南亚 6  未知
    srcVersion: string; // 专辑官方版本 专辑版本为本数据录入，以官方提供具体数据为准
    publicCompanyId: number; // 发行公司 同t_company.Fcompany_id
    publicTime: string; // 发行日期
    saleTime: string; // 发售日期
    upc: string; // 专辑UPC 版权方注册提供的专辑统一编码
    type: number; // 专辑类型 解释：根据发行歌曲数量及版权方定义对专辑进行的类型划分 默认值：-1 定义如下： -1 未知 0 录音室专辑 1 演唱会 2 影视 3 动漫 4 游戏 5 舞曲 6 纯音乐 7 相声评书 8 戏曲 9 有声书籍 10 Single 11 EP 12 古典作品 13 同人音乐 14 广播剧 15 人声音频 16 有声资讯 17 综艺娱乐 18 儿童教育 19 音乐节目 20 脱口秀 21 搞笑段子 22 情感生活 23 其他
    language: string; // 专辑语言 定义如下： 0 普通话 1 粤语 2 闽南语 3 日语 4 韩语 5 英语 6 法语 7 其他 8 拉丁 9 纯音乐 10 德语 11 俄语 12 印度语 13 泰语 14 印尼语 15 菲律宾语 16 西班牙语 17 印第安语 18 葡萄牙语 19 意大利语 20 瑞典语 21 波兰语 22 丹麦语 23 芬兰语 24 越南语 25 藏语 26 马来语 27 阿拉伯语 28 客家语 29 潮汕语 30 维语 31 冰岛语 32 挪威语 33 希腊语 34 荷兰语 35 捷克语 36 乌克兰语 37 蒙语 38 哈萨克语 39 缅甸语 40 格鲁吉亚语 41 罗马尼亚语 注：可多选，逗号分隔
    srcGenre: string; // 专辑官方流派 解释：专辑流派文本数据录入，以官方提供具体数据为准
    status: number; // 专辑状态 解释：根据专辑下歌曲状态运算后得到的专辑状态 默认值：0 定义如下： 0 隐藏 1 上架 2 停用 备注：专辑状态要保留隐藏，因为专辑状态是随歌曲状态变化
    discNumber: string; // 唱片编号 解释：由版权方提供的唱片专属编号，主要用于结算使用
    albumDesc: string; // 专辑介绍 专辑介绍，限制8000字
    isDigital: number; // 是否是数字专辑 0否 1是 2曾经是
    createUser: string; // 创建人
    insertTime: string; // 插入时间
    modifyTime: string; // 修改时间
  };
  traceId: string;
}

/**
 * 获取专辑详细信息
 */
export async function getAlbumId(
  id: string | number,
  data?: any,
  config?: AxiosRequestConfig,
): Promise<GetAlbumIdRes> {
  return request(data, {
    url: `/album/${id}`,
    method: 'get',
    ...config,
  });
}

export interface PostAlbumRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 专辑录入
 */
export async function postAlbum(data?: any, config?: AxiosRequestConfig): Promise<PostAlbumRes> {
  return request(data, {
    url: '/album',
    method: 'post',
    ...config,
  });
}

export interface PutAlbumIdRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 专辑修改
 */
export async function putAlbumId(
  id: string | number,
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PutAlbumIdRes> {
  return request(data, {
    url: `/album/${id}`,
    method: 'put',
    ...config,
  });
}

export interface PostAlbumCheckRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 专辑名查重
 */
export async function postAlbumCheck(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostAlbumCheckRes> {
  return request(data, {
    url: '/album/check',
    method: 'post',
    ...config,
  });
}

export interface PostAlbumListRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: Array<{
    trackNum: number; // 歌曲数量
    albumExtend: {
      albumId: number; // 专辑ID
      srcDuration: number; // 官方专辑时长
      realDuration: number; // 实际专辑时长
      scheduleStatus: number; // 连载状态 1 连载中 2 已完结
      originalPublicTime: string; // 首次发行时间 入库时发行时间
      maintainer: number; // 维护方 0 中央曲库维护 1 Q音平台 2 酷狗平台 3 酷我平台 4 爱听卓越 5 音乐人系统 6 音乐人BD 7 信息自助管理平台 8 懒人听书
      id: number;
      merlinDpid: string; // DPID 解释：DPID是Merlin Memeber的一个ID 备注： Merlin提供的结算明细模板要求需要DPID和Member
      merlinMember: string; // MemberName 解释：Merlin Member的名称 也可以叫party name
      xmlPath: string; // XML文件存储 解释：唱片公司原始XML文件。 cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
      xmlUrl: string; // XML文件url 解释：拼接的下载url
      tmeszCode: string; // 数字专辑集团代码
      srcSinger: string; // 官方歌手名
      subTitle: string; // 专辑副标题
      movieName: string; // 影视名
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      albumEan: string; // EAN 国际货品编号
      albumGrid: string; // Grid 发行作品识别码
      albumPline: string; // pline
      albumCline: string; // cline
      displayTime: string; // 专辑可显示时间
      parentGuidance: string; // 家长指导内容 默认值：0 无建议 枚举值： 0 无建议 1 不含粗口 2 粗口内容已剪辑 3 粗口
      displayCompanyName: string; // 外显公司名称
    };
    albumMap: {
      id: number;
      globalId: number; // TME ID
      qkId: number; // 曲库ID
      qqId: number; // Q音ID
      kgId: number; // 酷狗ID
      kwId: number; // 酷我ID
      umId: number; // 爱听ID
      lrId: number;
      tempId: number;
      musicianId: number; // 音乐人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      insertFrom: number; // 数据来源 0 未知 1 系统对接 2 人工创建 3 历史曲库迁移 4 批量导入 5 自助管理平台 6 音乐人 7 Q音上报 8 酷我上报 9 酷狗上报 10 Q音主播 11 酷我主播 12 酷狗主播 13 爱听上报 14 K歌上报 15 TME曲库同步 16 懒人听书 17 懒人主播 18 TME Live 19 高危曲库 20 互联网爬取
    };
    albumCopyright: {
      albumId: number; // 专辑ID
      id: number;
      cpCompanyId: number; // 版权公司 同t_company.Fcompany_id
      cpCompany: {
        companyId: number; // 公司ID
        companyName: string; // 公司名
        otherName: string; // 其它名
        type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
        cpMain: string; // 签约公司主体
        companyDesc: string; // 公司介绍
        createUser: string; // 创建人
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        parentCompany: number; // 所属父公司,同t_company.Fcompany_id
        cpCode: string; // 统一社会信用代码
        belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
        department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
        health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
        healthRemarks: string; // 健康度备注
        risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
        riskRemarks: string; // 风险评估备注
      };
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
    };
    albumPayment: {
      id: number;
      preSaleBegin: string; // 预售时间
      saleType: number; // 售卖类型 枚举值： -1 无 0  预售 1  正售 2  预售+正售
      paymentBegin: string; // 售卖开始时间
      paymentEnd: string; // 售卖结束时间
      price: number; // 售卖价格
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      albumId: number; // 专辑ID
      onSale: number; // 是否在售 与售卖期无关 0 否 1 是
    };
    albumLicenses: Array<{
      albumId: number; // 专辑ID
      id: number;
      licensePath: string; // 授权文件存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
      licenseUrl: string; // 授权文件url 解释：拼接的下载url
      fileName: string; // 文件名
      fileMd5: string; // 文件md5
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      fileSize: number; // 文件大小
    }>;
    albumPhotos: Array<{
      albumId: number; // 专辑ID
      displayTime: string; // 显示时间
      imageResolution: number; // 图像分辨率
      isOfficial: number; // 是否官方 默认值：0 0 否 1 是
      encodeStatus: number;
      id: number;
      photoUsing: number; // 是否使用中 解释：图片删除了，Fusing=0 默认值：0 定义： 0 未使用 1 使用中
      orderIndex: number; // 图片顺序 多图的顺序index 默认：0 代表第一张
      photoPath: string; // 图存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
      photoUrl: string; // 图片url 解释：拼接的下载url
      md5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
      photoSize: number; // 源图文件大小
      photoHeight: number; // 源图高
      photoWidth: number; // 源图宽
      qCfs: string; // Q音图存储 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
      qUrl: string; // Q音图片url 解释：下载url
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
    }>;
    albumSingers: Array<{
      albumId: number; // 专辑ID
      ddexRole: string;
      id: number;
      singerId: number; // 歌手ID
      isOfficial: number; // 是否库内歌手 翻译：歌手是否属于库内歌手 定义如下： 0 否 1 是
      orderIndex: number; // 歌手顺序 歌手顺序。0开始递增
      singerName: string; // 库外歌手名 解释：当Fis_official=0代表库外歌手时
      insertTime: string; // 插入时间
      modifyTime: string; // 插入时间
    }>;
    xmls: Array<{
      albumId: number; // 专辑ID
      tempAlbumId: number; // 临时库专辑ID
      albumUpc: string; // 专辑UPC
      cpId: number; // 版权公司ID
      albumXmlPath: string; // XML path
      albumXmlUrl: string; // XML cos url
      uploadTime: string; // 上传时间
    }>;
    albumTracks: Array<{
      trackMedia: {
        mediaId: number;
        fUsing: number; // 是否使用中 默认值：0 定义： 0 未使用 1 使用中
        mediaPath: string; // 音频存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
        mediaUrl: string; // 音频url 解释：拼接的下载url
        fileName: string; // 原始文件名
        fileType: string; // 解释：音频文件格式 定义如下：wma，mp3，ape，flac，WAV
        fileSize: number; // 解释：音频文件大小。单位kB
        fileMd5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
        duration: number; // 解释：播放时长。单位毫秒ms
        checkQuality: string; // 解释：音质检查的结果，可能有好多结果枚举值。逗号隔开  枚举值定义： ======严重错误======= 4 后缀名出错 6 声道不符合标准 7 采样率不符合标准 -9 解码出错 ...
        remarks: string; // 备注
        qCfs: string; // 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
        insertTime: string;
        modifyTime: string;
        trackId: number;
      };
      trackPayment: {
        id: number;
        price: number; // 售卖价格
        paymentMark: number; // 付费备注ID
        insertTime: string;
        modifyTime: string;
        paymentModeId: number; // 付费模式ID: ===> 参见：付费管理/付费模式录入
        paymentMode: {
          roleRights: Array<{
            roleRightId: number; // 角色权利ID
            userRole: number; // 用户身份 字段定义： 0 普通用户 3 单曲购买用户 4 专辑购买用户 6 歌曲包月用户 7 长音频包月用户 备注：单选
            canListen: number; // 可播放 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
            canDownload: number; // 可下载 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
            canCache: number; // 可缓存 字段定义： 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
            canTryListen: number; // 可试听 字段定义：试听30s 0 不可用 1 普通品质 2 普通品质+高品质 3 普通品质+高品质+无损品质
            invalidPrompt: number; // 受阻层 字段定义： 0 无 1 下载受阻开通付费包 2 缓存受阻开通付费包 3 付费播放+下载受阻开通付费包 4 付费播放+缓存受阻开通付费包 5 专辑购买 6 单曲购买 7 不可在线播放只可下载 8 不可在线播放只可缓存 9 播放+下载无损品质受阻开通付费包 10 免费歌曲HQSQ受阻开付费包 11 所有用户不可下载
            insertTime: string; // 插入时间
            modifyTime: string; // 修改时间
            paymentModeId: number; // 付费模式ID
          }>;
          paymentModeId: number; // 付费ID
          paymentModeName: string; // 付费模式名
          paymentType: number; // 付费口径 字段定义： 0-免费 1 付费1.0 2 付费2.0 3 付费3.0 4 数字专辑 备注：单选
          contentType: number; // 内容类型 字段定义： 0 所有内容 1 歌曲 2 长音频 备注：0 代表所有内容都可配该模式
          insertTime: string; // 插入时间
          modifyTime: string; // 更新时间
        };
        trackId: number;
        paymentMarkDesc: string; // 付费备注说明
        paymentNotify: number; // 付费受阻文案ID
        paymentReason: number; // 付费3.0原因ID: 0 无 1 集团策略转入 2 首发已过限免期 3 首发上架即无免 4 其他变更进入无免 5 集团策略转出
        srcPaymentModeId: number; // 官方付费模式id
        freeDuration: number;
        freeBeginTime: string;
      };
      trackSingers: Array<{
        id: number;
        singerId: number; // 歌手ID
        isOfficial: number; // 是否库内歌手 翻译：歌手是否属于库内歌手 定义如下： 0 否 1 是
        orderIndex: number; // 歌手顺序 歌手顺序。0开始递增
        singerName: string; // 库外歌手名 解释：当Fis_official=0代表库外歌手时
        insertTime: string;
        modifyTime: string;
        trackId: number; // 歌曲ID
        ddexRole: string;
      }>;
      trackExtend: {
        id: number;
        wordAuthor: string; // 作词
        musicAuthor: string; // 作曲
        arrangeAuthor: string; // 编曲
        producer: string; // 制作人
        mixer: string;
        parentGuidance: string; // 家长指引
        subTitle: string; // 副标题
        tvName: string; // 影视名
        createBg: string; // 创作背景
        awardRecord: string; // 获奖记录
        srcMusic: number; // 原曲
        srcTrack: number; // 原唱
        srcSingerName: string; // 官方歌手名
        trackDesc: string; // 歌曲简介
        insertTime: string;
        modifyTime: string;
        trackId: number;
        srcTrackName: string; // 原唱信息
        trackGrid: string;
        trackPline: string;
        trackCline: string;
        displayTime: string; // 显示时间
        productionCompany: string; // 制作公司
        trackType: number; // 歌曲类型: 0 未知（默认） 1 独唱 2 对唱 3 合唱
        hideReasonRemarks: string; // 隐藏原因备注
        originalPublicTime: string; // 首次发行时间
        trackAttr: string; // 歌曲属性, 多个id逗号分隔
        coverType: number; // 翻唱类型： 0 原唱（默认） 1 翻唱 2 白翻唱 3 黑翻唱
        subGenre: string; // 二级流派	多个ID逗号分隔
      };
      trackCopyrights: Array<{
        extendRemarks: {
          id: number;
          attrRemarks: string;
          authTypeRemarks: string;
          isAllSongbankRemarks: string; // 是否全曲库备注
          isOnlyRemarks: string; // 是否总代理备注
          canAuthRemarks: string; // 是否可转授权备注
          authPlatformRemarks: string; // 授权产品备注
          authProductRemarks: string; // 授权产品备注
          authTerminalRemarks: string; // 授权终端备注
          authFormRemarks: string; // 授权形式备注
          cooFactoryRemarks: string; // 硬件厂商合作备注
          canLegalRightsRemarks: string; // 是否可维权备注
          otherRightRemarks: string; // 其他权利备注
          canClipRemarks: string; // 是否可剪辑备注
          networkRemarks: string; // 传播网络备注
          copyrightAreaRemarks: string; // 授权区域备注
          isOverseaOnlyRemarks: string; // 海外总代理备注
          excludePlatformRemarks: string; // 排除平台备注
          otherLimitRemarks: string;
          remarks: string; // 备注
          insertTime: string; // 插入时间
          modifyTime: string; // 修改时间
          copyrightDetailId: number; // 合同detail id 对应合同权利表t_copyright_detail.Fid
          noLinkRemarks: string; // 是否禁止/限制链接备注
          canCoverRemarks: string;
          overseaStatusRemarks: string;
          terminalLimitRemarks: string;
          formLimitRemarks: string;
          excludeAreaRemarks: string;
          networkLimitRemarks: string;
          productLimitRemarks: string;
          productLimitTermsRemarks: string;
          trackId: number; // 歌曲ID
          copyrightLinkId: number; // 版权关联ID 同t_track_copyright.Fid
        };
        copyright: {
          copyrightId: number; // 合同ID
          authType: number; // 合同类型  默认值：1 定义如下： 0 请选择 1 录音录像制作者权利和表演者权利（中央曲库改名叫：录音权） 2 词版权 3 曲版权 4 转授权 5  MV 6 其他（中央曲库新增） 备注：单选
          wmAuthType: number;
          contract: string; // 合同编号 解释：授权方与集团签约后纳入合同系统的编号
          isDefault: number; // 是否默认合同 解释：该合同是否为签约公司的默认标注合约 默认值：0 定义如下： 0 否 1 是 备注：每家公司每一类授权内容仅允许有一个默认合同，也可以没有
          isFree: number; // 免费授权合同 解释：该合同是否为签约公司的免费授权合同 默认值：0 定义如下： 0 否 1 是
          isAllSongbank: number; // 是否全曲库
          otherLimit: string; // 其他限制
          cpCompanyId: number; // 版权公司ID 同t_company.Fcompany_id
          noLink: number; // 是否限制链接 0 否（默认） 1 是
          overseaStatus: number; // 是否可海外漫游 解释：合同内容是否可海外漫游 默认值：0 定义如下： 0 否 1 是 备注：单选
          authorizer: string; // 授权方
          originalObligee: string; // 原始权利人
          attr: string; // 合约属性 解释：该合同是否为签约公司的默认标注合约 默认值： 定义如下： 1 代理 2 普通 3 其他平台转售 4 自有 5 其他 备注：可多选，逗号分隔
          licenseValid: number; // 授权书是否符合维权条件 解释：只有词、曲合同有 默认 0 定义如下： 0 未确定 1 符合 2 不符合
          createUser: string; // 创建人
          rightComplete: number; // 合同权利是否完整 0否1是
          companyType: number; // 版权公司类型 定义如下： 0 无 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
          copyrightType: number; // 合同来源 0 未知（默认） 1 版权部 2 免费授权 3 业管部 4 腾讯音乐人开平 5 腾讯音乐人BD 6 平台自签约
          businessBroker: string; // 商务对接人
          settleMethod: string; // 结算方式 多选 1 纯分成 2 预付分成 3 保底 4 不保底 5 买断
          originalCopyrightFrom: string; // 原始授权开始时间
          originalCopyrightTo: string; // 原始授权结束时间
          signPlatform: string; // 签约平台 多选 1 QQ音乐 2 全民K歌 3 酷狗 4 酷我 5 爱听卓乐 6 懒人听书
          isOnly: number; // 是否总代理  默认值：0 定义如下： 0 非总代理 1 总代理 备注：单选
          canAuth: number; // 是否可转授权  解释：版权方授权内容是否可转授权给其他平台 默认值：0 定义如下： 0 否 1 是 备注：单选
          authPlatform: string; // 授权平台  解释：版权方授权内容可使用平台列表 默认值：空 定义如下： 1 全PC网站 2 全PC客户端 3 全移动端APP 备注：可多选，逗号分隔
          authProduct: string; // 授权产品  解释：版权方授权内容可使用产品列表 默认值：空 定义如下： 1 QQ音乐 2 全民K歌 3 酷狗 4 酷我 5 爱听卓乐 6 企鹅FM（中央曲库新增新增） 7 微视（中央曲库新增新增） 8 轻听（中央曲库新增新增） 9 微信（中央曲库新增新增） 10 QQ空间（中央曲库新增新增） 11 腾讯视频（中央曲库新增新增） 12 繁星（酷狗）直播（中央曲库新增新增） 13 聚星（酷我）直播（中央曲库新增新增） 14 酷我K歌（中央曲库新增新增） 16 5SING（中央曲库新增新增） 17 酷FM（中央曲库新增新增） 18 游戏产品（中央曲库新增新增） 19 彩虹音乐 20 QQ 21 酷我听书 22 2469 23 酷我BOOM 24 酷我电台 25 酷我视频 26 酷狗唱唱 27 酷狗KTV 28 酷狗铃声 29 酷狗直播伴侣 30 短酷 31 巴卟巴卟 32 1822 33 海兔故事 34 Viper HIFI 35 MOO 36 Q音宝贝 37 Q音铃声 38 音兔 39 腾讯时光 40 yoo视频 41 酷狗游戏盒 42 哄你睡 43 酷秀美女视频 44 全民舞指 45 脸红 46 翻茄音乐 47 现有+新增 48 懒人听书 49 芽芽故事 50 懒人关联产品 备注：可多选，逗号分隔
          authTerminal: string; // 授权终端  解释：版权方授权内容可使用平台列表 默认值：空 定义如下： 1  PC电脑 2 平板电脑 3 手机 4 车载电视 5 智能音响 6 机顶盒 7  MPEG4播放器 8 航空器 9 电视机（中央曲库新增） 10 智能电视（中央曲库新增） 11 现有及新增（中央曲库新增） 12 智能耳机 13 实体KTV机器 14 酷我无线蓝牙耳机 15 酷我音箱 16 酷我儿童故事机 备注：可多选，逗号分隔（中央曲库新增）
          authForm: string; // 授权形式  解释：版权方授权内容可使用形式 默认值：空 定义如下： 1 用户点播(中央曲库改名在线收听服务) 2 免费下载（中央曲库改名下载服务） 3 收费点播 4 收费下载 5 网页/个人空间背景音乐定制 6 互联网卡拉OK 7 音乐片段 8 客户端背景音乐内置 9 在线游戏背景音乐 10 歌词翻译 11 转授手机硬件厂商 12 手机白牌 13 视频背景音乐 14 互联网卡拉OK（中央曲库新增） 15 在线收听（中央曲库新增） 16 互联网来电通话铃声或北京音（中央曲库新增） 17 在线直播（中央曲库新增） 18 在线表演（中央曲库新增） 19 MV在线播放业务（中央曲库新增） 20 付费数字专辑（中央曲库新增） 21 付费缓存（中央曲库新增） 22 用户点歌（中央曲库新增） 23 现有及新增（中央曲库新增） 24 彩铃 备注：可多选，逗号分隔
          cooFactory: string; // 硬件厂商合作  解释：版权方授权内容可使用合作厂商 默认值：空 定义如下： 1 TOB（转授内容给硬件厂商） 2 TOC（APP内置） 备注：可多选，逗号分隔
          canLegalRights: number; // 是否可维权  解释：版权方授权内容是否授予维权权利 默认值：0 定义如下： 0 否 1 是 备注：单选
          otherRight: string; // 其他权利  解释：版权方授予的其他特殊权利 默认值：空 定义如下： 1 表演者权利 2 录音制作者权利(仅伴奏) 3 录音制作者权利 4 录音音像制作者权利(MV) 5 专辑封面权利 6 表演者肖像权利 7 复制权 8 翻唱权利 9 发行权 10 出租权 11 展览权 12 表演权 13 广播权 14 信息网络传播权 15 摄制权 16 改编权 17 翻译权 18 汇编权 备注：可多选，逗号分隔
          canClip: number; // 是否可剪辑 解释：版权方授权内容是否授予二次剪辑的权利 默认值：0 定义如下： 0 否 1 是 备注：单选
          network: string; // 传播网络  解释：版权方授权内容可用于传播的网络介质 默认值：空 定义如下： 1互联网 2移动互联网 3有线电视网 4 IPTV 5运营商网络 6现有及新增 备注：可多选，逗号分隔
          copyrightArea: string; // 授权区域  解释：版权方授权内容使用国家或地区 默认值：0 定义如下： 0 中国大陆 1 中国香港 2 中国台湾 3 中国澳门 4 马来西亚 5 泰国 6 印尼 7 亚洲地区 8 全世界 9 南非 10 缅甸 11 菲律宾 12 印度 13 新加坡 14 越南 15 文莱 16 俄罗斯 17 美国 19 加拿大 备注：可多选，逗号分隔
          copyrightFrom: string; // 权利开始日期
          copyrightTo: string; // 权利到期日期
          isOverseaOnly: number; // 海外总代理  解释：海外是否总代理 默认值：0 定义如下： 0 否 1 是 备注：单选
          excludePlatform: string; // 排除平台  解释：版权方授权内容指定排除的平台 默认值：空 定义如下： 1运营商 2硬件厂商 3其他 备注：可多选，逗号分隔
          insertTime: string; // row插入时间
          modifyTime: string; // row修改时间
          coverNeedPermission: number; // 翻唱是否需要版权方许可 0 否（默认） 1 是
          canCoverFrom: string; // 可翻唱开始时间
          canCoverTo: string; // 可翻唱截止时间
          canCover: number; // 是否可翻唱  0 未确定（默认） 1 唱片公司确认可翻唱 2 唱片公司确认不可翻唱
        };
        cpCompany: {
          companyId: number; // 公司ID
          companyName: string; // 公司名
          otherName: string; // 其它名
          type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
          cpMain: string; // 签约公司主体
          companyDesc: string; // 公司介绍
          createUser: string; // 创建人
          insertTime: string; // 插入时间
          modifyTime: string; // 修改时间
          parentCompany: number; // 所属父公司,同t_company.Fcompany_id
          cpCode: string; // 统一社会信用代码
          belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
          department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
          health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
          healthRemarks: string; // 健康度备注
          risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
          riskRemarks: string; // 风险评估备注
        };
        originCpCompany: {
          companyId: number; // 公司ID
          companyName: string; // 公司名
          otherName: string; // 其它名
          type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
          cpMain: string; // 签约公司主体
          companyDesc: string; // 公司介绍
          createUser: string; // 创建人
          insertTime: string; // 插入时间
          modifyTime: string; // 修改时间
          parentCompany: number; // 所属父公司,同t_company.Fcompany_id
          cpCode: string; // 统一社会信用代码
          belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
          department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
          health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
          healthRemarks: string; // 健康度备注
          risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
          riskRemarks: string; // 风险评估备注
        };
        id: number;
        cpStatus: number; // 录音版权状态 定义如下： -1 唱片公司确认无版权 0无版权 1 唱片公司确认有版权
        isAgent: number; // 是否代理 默认值：0 定义如下： 0 否 1 是 2 未知
        cpRemarks: string; // 版权备注
        overseaType: number; // 海外曲库类型 定义如下： 0 未满足运算条件（默认值） 1 [A]白名单曲库 2 [B]漫游包曲库 3 [C]其他TME国内总代曲库 4 [D]非TME总代也非竞品转授的有版权曲库 5-[E]竞品转授和无版权曲库 6-[F]严格合规曲库 备注：这里程序字段生成字段值
        overseaStatus: number; // 海外漫游标记 定义如下： 0 不可海外漫游（默认值） 1 可以海外漫游 2 唱片公司确认不可海外漫游（若原漫游类型为B类曲库，需转为A类曲库） 3 唱片公司要求屏蔽海外漫游 4 唱片公司要求严格合规 备注：这里程序字段生成字段值
        cpDefect: number; // 版权瑕疵 枚举值： 0 无 1 盗歌 2 抄袭 3 翻唱 4 版权重叠 5 无版权证明
        isAllSongbank: number; // 是否全曲库 默认值：否
        isOnly: number; // 是否总代理 默认值：否
        canAuth: number; // 是否可转授权 默认值：否
        authPlatform: string; // 授权平台
        authProduct: string; // 授权产品 默认值：QQ音乐，酷狗，酷我，全民K歌，爱听卓乐
        authTerminal: string; // 授权终端
        authForm: string; // 授权形式
        cooFactory: string; // 硬件厂商合作
        canLegalRights: number; // 是否可维权 默认值：否
        otherRight: string; // 其他权利
        canClip: number; // 是否可剪辑
        network: string; // 传播网络
        copyrightArea: string; // 授权区域
        copyrightFrom: string; // 权利开始日期
        copyrightTo: string; // 权利到期日期
        authPostponed: number; // 授权时间顺延 解释：授权时间顺延。当编辑选择是之后。免费授权的权利到期之后，自动增加一年 默认值：0 定义如下： 0 否 1 是
        isOverseaOnly: number; // 海外总代理 默认值：否
        excludePlatform: string; // 排除平台
        otherLimit: string; // 其他限制
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
        copyrightId: number; // 合同ID 同t_copyright.Fcopyright_id
        cpCompanyId: number; // 版权公司ID 同t_company.Fcompany_id
        originCpCompanyId: number; // 原始版权公司ID 同t_company.Fcompany_id
        trackId: number; // 歌曲ID 同t_track.Ftrack_id
        cpSource: number; // 版权来源 0 无（默认） 1 免费授权 2 签约上架 3 认领版权 4 版权到期 5 投诉侵权 6 唱片公司取消上架 7 侵权预警 8 伴奏单独签约 9 翻唱正版化
        cpDiffusionSource: string; // 版权扩散来源歌曲
        companyType: number; // 版权公司类型 定义如下： 0 无 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
        copyrightType: number; // 合同来源 0 未知（默认） 1 版权部 2 免费授权 3 业管部 4 腾讯音乐人开平 5 腾讯音乐人BD 6 平台自签约
        needSync: number; // 合同信息是否同步 定义如下： 0 否（默认） 1 是
        noLink: number; // 是否禁止/限制链接 定义如下： 0 否（默认） 1 是
        copyrightDetailId: number; // 合同detail id 对应合同权利表t_copyright_detail.Fid
        syncMark: number; // 版权同步控制标记
      }>;
      trackId: number; // 歌曲ID
      srcTrackId: number; // 官方歌曲ID
      srcTrackName: string; // 官方歌曲名
      trackName: string; // 歌曲名
      transName: string; // 翻译名
      otherName: string; // 其他名
      location: number; // 曲序: 歌曲所在专辑中的顺序 -1代表未知
      cdIndex: number; // CD索引: 歌曲所在专辑中的所属CD位置  默认值：0 0 CD1 1 CD2 2 CD3 ...
      srcVersion: string; // 官方版本,  以唱片公司提供信息为准
      version: number; // 版本ID:  -1 未知 0 完整版 1 Radio Edit 2 清晰版 3 Live 4 TV Verison 5 Demo ...
      isrc: string;
      iswc: string;
      worksName: string; // 作品集名
      worksTransName: string; // 作品集翻译名
      language: number; // 默认值 -1  定义如下： -1 未知 0 普通话 1 粤语 2 闽南语 ...
      srcGenre: string; // 官方流派
      genre: string; // 一级流派	多个ID逗号分隔
      publicTime: string; // 发行时间
      firstPublicTime: string; // 首发期限时间
      saleTime: string; // 发售日期
      status: number; // 歌曲状态: 解释：控制歌曲上下架操作  默认值：0 定义如下： 0 隐藏 1 上架 2 停用
      hideReason: number; // 隐藏原因ID: 默认: 12  定义如下： 0 无（默认值） 1 无媒体文件 2 重复上传 3 音频异常 4 网易总代理 5 阿里总代理 ... 11 涉黄赌毒敏感 12 待上线 ...
      ffrom: number; // 音频来源:    解释：音频文件来源渠道  默认值：0 定义如下： 0 唱片公司提供 1 CP提供 2 CD转换 3 互联网扒取 ...
      trackNumber: string; // 歌曲编号, 文本录入，主要结算使用
      isMain: number; // 是否主打曲: 0否  1是
      replaceTrackId: number; // 保留歌曲ID,  解释：替换歌曲的时候保留的歌曲id
      createUser: string;
      insertTime: string;
      modifyTime: string;
      albumId: number; // 所属专辑ID
    }>;
    publicCompany: {
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    };
    albumId: number; // 专辑ID
    srcAlbumId: number; // 官方专辑ID
    srcAlbumName: string; // 官方专辑名
    albumName: string; // 专辑名
    version: string; // 专辑属性 定义如下： 0 无 1 精选 2 影视 3 综艺 4 现场 5 长音频 6 DEMO 7 REMIX 8 Special Edition 9 Deluxe 10 Clean 11 Explicit 12 ACG 备注多选，逗号隔开
    displayCompanyId: number; // 外显唱片公司
    srcLanguage: string; // 专辑官方语言 解释：专辑语言文本数据录入，以官方提供具体数据为准
    genre: string; // 专辑流派 定义如下： 默认值0 0 无流派 1 宗教 2 流行 3 爵士 4 嘻哈 5 民谣 6 乡村 7 蓝调 8 节奏布鲁斯 9 摇滚 10 新世纪 11 金属 12 雷鬼 13 电子舞曲 14 古典 15 轻音乐 16 儿童 17 中国特色 18 世界音乐 19 原声/舞台 20 实验音乐 21 有声内容 22 其他 备注：可多选，逗号分隔
    subGenre: string; // 二级流派
    transName: string; // 翻译名
    otherName: string; // 其他名
    area: number; // 专辑地区 默认值：6 定义如下： 0  港台 1  内地 2  日韩 3  欧美 4  其他 5  东南亚 6  未知
    srcVersion: string; // 专辑官方版本 专辑版本为本数据录入，以官方提供具体数据为准
    publicCompanyId: number; // 发行公司 同t_company.Fcompany_id
    publicTime: string; // 发行日期
    saleTime: string; // 发售日期
    upc: string; // 专辑UPC 版权方注册提供的专辑统一编码
    type: number; // 专辑类型 解释：根据发行歌曲数量及版权方定义对专辑进行的类型划分 默认值：-1 定义如下： -1 未知 0 录音室专辑 1 演唱会 2 影视 3 动漫 4 游戏 5 舞曲 6 纯音乐 7 相声评书 8 戏曲 9 有声书籍 10 Single 11 EP 12 古典作品 13 同人音乐 14 广播剧 15 人声音频 16 有声资讯 17 综艺娱乐 18 儿童教育 19 音乐节目 20 脱口秀 21 搞笑段子 22 情感生活 23 其他
    language: string; // 专辑语言 定义如下： 0 普通话 1 粤语 2 闽南语 3 日语 4 韩语 5 英语 6 法语 7 其他 8 拉丁 9 纯音乐 10 德语 11 俄语 12 印度语 13 泰语 14 印尼语 15 菲律宾语 16 西班牙语 17 印第安语 18 葡萄牙语 19 意大利语 20 瑞典语 21 波兰语 22 丹麦语 23 芬兰语 24 越南语 25 藏语 26 马来语 27 阿拉伯语 28 客家语 29 潮汕语 30 维语 31 冰岛语 32 挪威语 33 希腊语 34 荷兰语 35 捷克语 36 乌克兰语 37 蒙语 38 哈萨克语 39 缅甸语 40 格鲁吉亚语 41 罗马尼亚语 注：可多选，逗号分隔
    srcGenre: string; // 专辑官方流派 解释：专辑流派文本数据录入，以官方提供具体数据为准
    status: number; // 专辑状态 解释：根据专辑下歌曲状态运算后得到的专辑状态 默认值：0 定义如下： 0 隐藏 1 上架 2 停用 备注：专辑状态要保留隐藏，因为专辑状态是随歌曲状态变化
    discNumber: string; // 唱片编号 解释：由版权方提供的唱片专属编号，主要用于结算使用
    albumDesc: string; // 专辑介绍 专辑介绍，限制8000字
    isDigital: number; // 是否是数字专辑 0否 1是 2曾经是
    createUser: string; // 创建人
    insertTime: string; // 插入时间
    modifyTime: string; // 修改时间
  }>;
  traceId: string;
}

/**
 * 获取专辑信息
 */
export async function postAlbumList(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostAlbumListRes> {
  return request(data, {
    url: '/album/list',
    method: 'post',
    ...config,
  });
}

export interface PutAlbumBatchRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: boolean; // 返回数据
  traceId: string;
}

/**
 * 专辑批量修改
 */
export async function putAlbumBatch(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PutAlbumBatchRes> {
  return request(data, {
    url: '/album/batch',
    method: 'put',
    ...config,
  });
}
